package com.soo.hoo.admin.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.soo.hoo.core.handler.SecureTypeHandler;
import com.soo.hoo.core.model.BaseEntry;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * <p>
 * 用户
 * </p>
 *
 * @author 杨燚
 * @since 2022-02-21
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName(value = "t_sys_user", autoResultMap = true)
public class SysUser extends BaseEntry {


    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 姓名
     */
    private String name;

    /**
     * 用户名
     */
    private String username;

    /**
     * 密码
     */
    @TableField(typeHandler = SecureTypeHandler.class)
    private String password;

    /**
     * 头像id
     */
    private Long avatarId;

    /**
      * 头像地址，可能是微信头像的url，可能是本地映射的地址
      */
    private String avatarUrl;

    /**
     * 电话号码
     */
    private String phoneNumber;

    /**
      * 昵称，微信昵称
      */
    private String nickname;


    /**
     * 邮箱
     */
    private String email;

    /**
     * 所属部门id
     */
    private Long deptId;

    /**
     * 数据权限
     */
    private Integer dataPermission;

    /**
     * 是否删除？null：未删除；有时间值：已删除
     */
    private LocalDateTime deleted;
    
    /**
     * 备注
     */
    private String remark;


    /**
      * 用户源；1：pc端添加；2：微信小程序手机号一键登录
      */
    private Integer userSource;


    
}
